package persistent.impl;

import java.util.List;

import basic.HibBaseDAO;
import model.TCloudClass;
import model.VClassInfo;
import persistent.dao.CloudClassDAO;

/**
 * 班级业务类接口的实现
 * @author djf
 * @since 2018/10/1
 */
public class CloudClassImpl implements CloudClassDAO {
	private HibBaseDAO dao=null;
	
	public CloudClassImpl() {
		dao=new HibBaseDAO();
	}

	/**
	 * 添加一个班级
	 * @param tcalss班级对象
	 * @return 成功返回班级主键，失败返回0
	 */
	@Override
	public int addClass(TCloudClass tcalss) {
		return dao.insert(tcalss);
	}

	/**
	 * 修改一个班级信息
	 * @param tclass
	 * @return 成功返回true，失败返回false
	 */
	@Override
	public boolean updateClass(TCloudClass tclass) {
		TCloudClass tclass2=(TCloudClass)dao.findById(TCloudClass.class, tclass.getClassid());
		tclass2.setClassid(tclass.getClassid());
		tclass2.setClassName(tclass.getClassName());
		tclass2.setGradeYear(tclass.getGradeYear());
		tclass2.setPeriod(tclass.getPeriod());
		tclass2.setSchoolid(tclass.getSchoolid());
		return dao.update(tclass2);
	}

	/**
	 * 通过班级id得到一个班级对象
	 * @param classid 班级id
	 * @return 成功TClass班级对象，失败返回null
	 */
	@Override
	public TCloudClass getTClass(String classid) {
		return (TCloudClass)dao.findById(TCloudClass.class, classid);
	}

	/**
	 * 通过班级id得到一个班级对象
	 * @param classid 班级id
	 * @return 成功VClassInfo班级对象，失败返回null
	 */
	@Override
	public VClassInfo getVClassInfo(String classid) {
		return (VClassInfo)dao.findById(VClassInfo.class, classid);
	}

	/**
	 * 根据查询条件得到班级对象列表
	 * @param strwhere 查询条件
	 * @return 成功VClassInfo班级对象列表，失败返回null
	 */
	@Override
	public List<VClassInfo> getClassList(String strwhere) {
		String hql="from VClassInfo "+strwhere;
		return dao.select(hql);
	}

	/**
	 * 通过查询条件得到一个分页的班级对象
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回VClassInfo列表对象，失败返回null
	 */
	@Override
	public List<VClassInfo> getClassListPage(String strwhere, int currentPage,
			int pageSize) {
		String hql="from VClassInfo "+strwhere;
		return dao.selectByPage(hql, currentPage, pageSize);
	}

	/**
	 * 删除一个班级信息
	 * @param classid 班级编号
	 * @return 成功返回true，失败返回false
	 * @since 2018-11-24 14:23
	 */
	@Override
	public boolean deleteClass(String classid) {
		TCloudClass cloudClass = 
				(TCloudClass) dao.findById(TCloudClass.class, classid);
		return dao.delete(cloudClass);
	}
}
